package com.demo.oauth2.server.services;

import java.util.HashMap;
import java.util.Map;

import javax.annotation.PostConstruct;
import javax.ejb.Stateless;

import com.demo.oauth2.server.model.Usuario;

@Stateless
public class UsuarioAuthenticationService {
	
	private Map<String, Usuario> mapUsuario;
	
	@PostConstruct
	private void init() {
		this.mapUsuario = new HashMap<String, Usuario>();
		Usuario eu = new Usuario();
		eu.setLogin("thiago.rodrigues");
		eu.setSenha("12345");
		this.mapUsuario.put("thiago.rodrigues", eu);
	}
	
	public boolean ehUsuarioCadastrado(String login, String senha) {
		return this.mapUsuario.containsKey(login) &&
				this.mapUsuario.get(login).ehSenhaCorreta(senha);
	}
	
	public void setCodigoAutorizacaoUsuario(String login, String codigoAutorizacao) {
		this.mapUsuario.get(login).setCodigoAutorizacao(codigoAutorizacao);
	}
	
	public boolean temUsuarioCodigoAutorizacao(String login) {
		return this.mapUsuario.get(login).temCodigoAutorizacao();
	}
}
